package com.geotmt.billingcenter.modules.cost.service;

import com.geotmt.billingcenter.common.entry.CostBaseEntry;
import com.geotmt.billingcenter.common.vo.cost.CostHisVo;
import com.geotmt.billingcenter.common.vo.cost.CostVo;
import com.geotmt.billingcenter.common.vo.params.ParamsCost;
import com.geotmt.billingcenter.common.vo.params.ParamsForDel;

import java.util.List;

/**
 * @Description 成本Base
 * @Author      yanghanwei
 * @Mail        yanghanwei@geotmt.com
 * @Date        2019/3/19 18:24
 * @Version     v1
 **/
public interface CostBaseService {

    /**
     * 添加成本规则配置 base
     * @param costBase
     * @return
     */
    Integer addBase(CostBaseEntry costBase);

    /**
     * 修改 base
     * feeFlag  updateUserId updateTime
     * @param consumeVo
     * @return
     */
    int updateBase(CostVo consumeVo);

    /**
     * 删除 成本配置 base (逻辑删除)
     * @param obj
     * @return
     */
    int deleteBase(ParamsForDel obj);

    /**
     * list
     * @param obj
     * @return
     */
    List<CostVo> listCurr(ParamsCost obj);

    /**
     * 添加或修改的回显
     * @param obj
     * @return
     */
    List<CostVo> listAll(ParamsCost obj);

    /**
     * getById
     * @param id
     * @return
     */
    CostVo currGetById(Integer id);

    /**
     * 获去有效规则
     * @param dsId
     * @param outInterfaceId
     * @param dateDay
     * @return
     */
    CostHisVo getCost(int dsId, int outInterfaceId, String dateDay);

}
